1
클라이언트-서버 프로그래밍 모델
AI031Lesson 11
00:00

클라이언트-서버 프로그래밍 모델 은 분산 응용 프로그램의 기초 아키텍처입니다. 하드웨어에 의해 정의되는 것이 아니라, 두 개의 프로세스 사이의 논리적 거래 사이의 클라이언트 가 자원에 대한 요청을 시작하고, 자원그리고 서버 자원을 관리하고 제공하는

1. 4단계 거래

모든 상호작용은 엄격한 순서를 따릅니다: (1) 클라이언트가 요청을 보냅니다; (2) 서버는 요청을 해석하고 로컬 리소스를 조작합니다; (3) 서버는 응답을 보냅니다; (4) 클라이언트는 수신한 데이터를 조작합니다(예: HTML 렌더링).

2. 하드웨어 구성

통신은 네트워크 어댑터라는 입출력 장치에 의존합니다. 데이터는 CPU에서 I/O 브릿지시스템 버스 를 통해 주 메모리까지 이동합니다. 웹 요청인 http://www.google.com:80과 같은 경우, 패킷은 이러한 버스를 통과하여 애플리케이션 코드에 도달합니다.

사용자: 클라이언트/서버커널: TCP/IP하드웨어I/O 버스 (네트워크 어댑터 | 디스크 | 그래픽스)

3. 프로토콜 추상화

현대적인 애플리케이션은 일관성을 위해 네트워크 바이트 순서 (빅엔디안) 를 사용합니다. 예를 들어, getaddrinfo 함수는 도메인 이름에서 IP 주소로의 매핑 을 제공하면서도 프로토콜 독립성을 유지합니다.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>